<?php

if (!defined('BASEPATH'))
    exit('No direct script access allowed');

class Cuentasporcobrar extends CI_Controller {

    public function __construct() {
        parent::__construct();
        session_start();
        $this->estaLogueado();
        $this->esAdministrador();
        $this->load->model('reservam');
        $this->load->model('ingreso_reservam');
        $this->load->model('tarifa_x_diam');
        $this->load->model('venta_producto_serviciom');
        $this->load->model('establecimientoM');
        $this->load->model('ajusteM');
        $this->establecimiento = $_SESSION["establecimiento"]["id_establecimiento"];
    }

    public function index() {
        $data = array();
        $this->loadData($data);
        $this->load->view('header', $data);
        $this->load->view('cuentasporcobrarV');
        $this->load->view('footer');
    }

    private function loadData(&$data) {
        if (!empty($_GET["desde"])) {
            $this->formatoFechaBD($_GET["desde"]);
        }
        if (!empty($_GET["hasta"])) {
            $this->formatoFechaBD($_GET["hasta"]);
        }
        $data["tab"] = "cuentasporcobrar";
        $data["moneda"] = $_SESSION["establecimiento"]["moneda"];
        $filasPorPagina = 20;
        if (empty($_GET["page"])) {
            $inicio = 0;
            $paginaActual = 1;
        } else {
            $inicio = ($_GET["page"] - 1) * $filasPorPagina;
            $paginaActual = $_GET["page"];
        }
        $data['paginaActiva'] = $paginaActual;
        $cantidadResPen = $this->reservam->cantidadResPenPago($this->establecimiento, $_GET);
        $cantidadResPen = $cantidadResPen[0]->cantidad;
        $data['cantidadResPen'] = $cantidadResPen;
        $data['cantidadPaginas'] = ceil($cantidadResPen / $filasPorPagina);
        $data["resPenPagos"] = $this->reservam->resPenPago($this->establecimiento, $filasPorPagina, $inicio, $_GET); //Reservas pendientes de pago.
        foreach ($data["resPenPagos"] as $row) {
            $idReserva = $row->id_reserva;
            $data["ingresos"] = $this->ingreso_reservam->obtenerIngresos($idReserva);
            $costoHospedajeSinImp = $this->tarifa_x_diam->obtenerCostosHospedaje($idReserva);
            $data["totalConsumos"] = $this->venta_producto_serviciom->obtenerTotalConsumos($idReserva);
            $data["totalImpuestosConsumo"] = $this->venta_producto_serviciom->obtenerTotalImpuestosConsumos($idReserva);
            $data["seguroHotelero"] = $this->establecimientoM->obtenerDatos("tiene_seguro_hotelero, seguro_hotelero", $_SESSION["establecimiento"]["id_establecimiento"]);
            $data["ajustes"] = $this->ajusteM->obtenerAjustes($idReserva);
            $row->sumaTotalPagar = (float) ($row->impuesto + $costoHospedajeSinImp[0]->totalHospedaje + $data["totalConsumos"][0]->totalConsumos + $data["totalImpuestosConsumo"][0]->totalImpuestosConsumo + $data["seguroHotelero"][0]->seguro_hotelero + $data["ajustes"][0]->totalAjuste);
        }
        // var_dump($data);



        $todasLasReservas = $this->reservam->obtenerTodasLasReservas($this->establecimiento, $_GET);
        $valorTotalPendiente = 0;
        foreach ($todasLasReservas as $row) {
            $idReserva = $row->id_reserva;
            $ingresos = $this->ingreso_reservam->obtenerIngresos($idReserva);
            $ingresos = $ingresos[0]->totalIngreso;
            $costoHospedajeSinImp = $this->tarifa_x_diam->obtenerCostosHospedaje($idReserva);
            $totalConsumos = $this->venta_producto_serviciom->obtenerTotalConsumos($idReserva);
            $totalImpuestosConsumo = $this->venta_producto_serviciom->obtenerTotalImpuestosConsumos($idReserva);
            //Se eliminino el seguro hotelero
            $ajustes = $this->ajusteM->obtenerAjustes($idReserva);
            $sumaTotalPagar = (float) ($row->impuesto + $costoHospedajeSinImp[0]->totalHospedaje + $totalConsumos[0]->totalConsumos + $totalImpuestosConsumo[0]->totalImpuestosConsumo + $ajustes[0]->totalAjuste);
            $valorTotalPendiente = (float) ($valorTotalPendiente + $sumaTotalPagar - $ingresos);
        }
        $data["valorTotalPendiente"] = $valorTotalPendiente;

        if (!empty($_GET["desde"])) {
            $this->formatoFechaVista($_GET["desde"]);
        }
        if (!empty($_GET["hasta"])) {
            $this->formatoFechaVista($_GET["hasta"]);
        }
    }

}

